package com.winphone.uvam.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.winphone.uvam.common.result.Result;
import com.winphone.uvam.entity.SysUser;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lwl
 * @since 2017-12-13
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 分页查询
     * @param pageInfo
     * @param map
     * @return
     */
    Page<SysUser> selectPageParam(Page<SysUser> pageInfo, Map map);

    /**
     * 根据用户id查询用户信息
     * @param id
     * @return
     */
    SysUser getSysUserInfoById(Long id);

    /**
     * 根据用户名称查询用户信息
     * @param userName
     * @return
     */
    SysUser getSysUserInfoByUserName(String userName);

    /**
     * 修改用户
     * @param sysUser
     * @return
     */
    boolean updateSysUserInfo(SysUser sysUser);

    /**
     * 修改密码
     * @param userId
     * @param newPassword
     * @param phone
     * @return
     */
    Result updatePassword(Long userId, String newPassword, String phone);

    /**
     * 软删除
     * @param id
     * @return
     */
    boolean deleteById(Long id);

    /**
     * 唯一性验证
     */
    boolean selectByMapOnce(Map<String, Object> map);

}
